/**
 * <pre>
 * Title: 		TransMessage.java
 * Project: 	HP-Common
 * Author:		linriqing
 * Create:	 	2008-8-28 下午05:42:38
 * Copyright: 	Copyright (c) 2008
 * Company:
 * <pre>
 */
package com.hengpeng.itfinbase.message;

import java.io.Serializable;

import com.hengpeng.common.util.ObjectHelper;

/**
 * <pre>
 * 业务系统请求/响应的消息包
 * 对于不同类型的请求/响应（比如投注和奖期查询），消息头的格式是相同的，而消息体会携带具体的特定类型的请求/响应信息.
 * </pre>
 * @author linriqing
 * @version 1.0, 2008-8-28
 */
public abstract class TransMessage implements Serializable, Cloneable
{
	private static final long serialVersionUID = 1254606653073562705L;

	/**
	 * 客户端编号
	 */
	private String clientId;

	/**
	 * 请求消息流水号, 规则:yyyyMMddHHmmss+6位循环流水号
	 */
	private String id;

	private String domain;

	/**
	 * 交易类型
	 */
	private int transType;

	public Object clone() throws CloneNotSupportedException
	{
		return ObjectHelper.byteClone(this);
	}

	public String getDomain()
	{
		return domain;
	}

	public void setDomain(String domain)
	{
		this.domain = domain;
	}

	/**
	 * @return 客户端编号
	 */
	public String getClientId()
	{
		return clientId;
	}

	/**
	 * @return 请求消息流水号, 规则:yyyyMMddHHmmss+6位循环流水号
	 */
	public String getId()
	{
		return id;
	}

	/**
	 * @return 交易类型
	 */
	public int getTransType()
	{
		return transType;
	}

	/**
	 * @param clientId 客户端编号
	 */
	public void setClientId(String clientId)
	{
		this.clientId = clientId;
	}

	/**
	 * @param id 请求消息流水号, 规则:yyyyMMddHHmmss+6位循环流水号
	 */
	public void setId(String id)
	{
		this.id = id;
	}

	/**
	 * @param transType 交易类型
	 */
	public void setTransType(int transType)
	{
		this.transType = transType;
	}
}
